xen/displif: Protocol version 2
authorOleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Wed, 1 Jul 2020 07:19:23 +0000 (10:19 +0300)
committerGeorge Dunlap <george.dunlap@citrix.com>
Mon, 27 Jul 2020 13:58:55 +0000 (14:58 +0100)
commitc27a184225eab54d20435c8cab5ad0ef384dc2c0
tree7382dec3099a00a9c3dd9b680a53683c7e4b55ac
parent0562cbc14cf02b8188b9f1f37f39a4886776ce7c
xen/displif: Protocol version 2

1. Add protocol version as an integer

Version string, which is in fact an integer, is hard to handle in the
code that supports different protocol versions. To simplify that
also add the version as an integer.

2. Pass buffer offset with XENDISPL_OP_DBUF_CREATE

There are cases when display data buffer is created with non-zero
offset to the data start. Handle such cases and provide that offset
while creating a display buffer.

3. Add XENDISPL_OP_GET_EDID command

Add an optional request for reading Extended Display Identification
Data (EDID) structure which allows better configuration of the
display connectors over the configuration set in XenStore.
With this change connectors may have multiple resolutions defined
with respect to detailed timing definitions and additional properties
normally provided by displays.

If this request is not supported by the backend then visible area
is defined by the relevant XenStore's "resolution" property.

If backend provides extended display identification data (EDID) with
XENDISPL_OP_GET_EDID request then EDID values must take precedence
over the resolutions defined in XenStore.

4. Bump protocol version to 2.

Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
xen/include/public/io/displif.h